package leetcode;

/**
 * 给你一个整数数组 nums，请你返回其中位数为 偶数 的数字的个数。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/find-numbers-with-even-number-of-digits
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * @author Europa
 */
public class Num1295 {

    public int findNumbers(int[] nums) {
        int x = 0;
        // 数字转字符串, 然后字符串的长度模2是否等于0
        for (int num : nums) {
            String s = String.valueOf(num);
            if (s.length() % 2 == 0) {
                x++;
            }
        }
        return x;
    }

    public int findNumbers1(int[] nums) {
        int count = 0;
        for (int num : nums) {
            // 计算数字的位数
            int x = 0;
            // 每次减少一位数, 直到为0
            while (num != 0) {
                num /= 10;
                x++;
            }
            // 位数模2是否为0
            if (x % 2 == 0) {
                count++;
            }

        }
        return count;
    }

    public static void main(String[] args) {
        Num1295 num1295 = new Num1295();
        int[] ints = {12, 345, 2, 6, 7896};
        int i = num1295.findNumbers1(ints);
        System.out.println(i);
    }
}
